/**
 * Framework for batch testing user profile models
 * Final project by Sergey Nepomnyachiy and Julia Polchin
 * Supervisor: Tsvi Kuflik
 *
 */
package models.collaborative;

import java.util.Collection;
import java.util.Random;
import java.util.Vector;

import core.environment.fVector;

/**
 * Facade class for collaborative filtering system implementation This is the
 * class that will be introduced to the framework
 * 
 * @author Sergey and Julia
 * 
 */
public class FacadeRandom {

	/**
	 * @param id
	 */
	public FacadeRandom(Integer id) {
		//do nothing
	}

	
	/**
	 * @param userRatings
	 */
	public static void addUser(Collection<Object> userRatings) {
		//do nothing
	}

	
	/**
	 * @param userRatings
	 */
	public static void addUser(fVector userRatings) {
		//do nothing
	}

	
	/**
	 * @param userRatings
	 */
	public static void addUser(Vector<Double> userRatings) {
		//Collaborative.getInstance().addNeighbour(userRatings);
	}

	/**
	 * @param rating
	 */
	public void trainUser(Double rating) {
		//Collaborative c = Collaborative.getInstance();
		//	this.ratings.add(rating);
	}

	/**
	 * @param itemId
	 * @return
	 */
	@SuppressWarnings({ "boxing" })
	public Double predict(Integer itemId) {
		try {
			Thread.sleep(100);
		} catch (InterruptedException e) {
			//Defines.printException(e.getMessage());
		}
		return new Random().nextDouble();
	}

	/**
		 * 
		 */
	public static void clearAll() {
		//Collaborative.getInstance().clearAll();
	}


	/**
	 * @param cnst
	 */
	public static void injectConstants(Integer cnst) {
		//Collaborative.getInstance().setK(cnst);
	}

}
